Exercise behavior prediction

ABSTRACT

Methods, apparatuses, and computer readable mediums for exercise behavior prediction are provided. In a particular embodiment, the prediction evaluation controller is configured to generate an exercise activity pattern based on correlations between scheduling of a user&#39;s historical non-exercise events and the user&#39;s historical exercise events. In the particular embodiment, the prediction evaluation controller is also configured to generate, based on the generated exercise activity pattern, by the prediction evaluation controller, a future exercise event to correspond with a future non-exercise event scheduled on the user&#39;s calendar. In the particular embodiment, the prediction evaluation controller is also configured to provide an indication of the generated future exercise event.

BACKGROUND

Field of the Invention

The field of the invention is data processing, or, more specifically,methods, apparatuses, and computer readable mediums for exercisebehavior prediction.

Description of Related Art

The health benefits of regular exercise and physical activity are welldocumented. A hectic schedule filled with non-exercise activities mayimpair a person's ability to schedule a time to exercise, much less toactually select an exercise activity for the scheduled time.

SUMMARY

Methods, apparatuses, and computer readable mediums for exercisebehavior prediction are provided. In a particular embodiment, theprediction evaluation controller is configured to generate an exerciseactivity pattern based on correlations between scheduling of a user'shistorical non-exercise events and the user's historical exerciseevents. In the particular embodiment, the prediction evaluationcontroller is also configured to generate, based on the generatedexercise activity pattern a future exercise event to correspond with afuture non-exercise event scheduled on the user's calendar. In theparticular embodiment, the prediction evaluation controller is alsoconfigured to provide an indication of the generated future exerciseevent.

The foregoing and other objects, features and advantages of the presentdisclosure will become apparent after review of the entire application,including the following sections: Brief Description of the Drawings,Detailed Description, and the Claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 sets forth a diagram of an illustrative embodiment of anapparatus for exercise behavior prediction.

FIG. 2 sets forth a block diagram of another illustrative embodiment ofan apparatus for exercise behavior prediction.

FIG. 3 sets forth a diagram illustrating an example graphical userinterface of a calendar that utilizes an embodiment of exercise behaviorprediction.

FIG. 4 sets forth a flow chart illustrating an example embodiment of amethod for exercise behavior prediction.

FIG. 5 sets forth a flow chart illustrating another example embodimentof a method for exercise behavior prediction.

FIG. 6 sets forth a flow chart illustrating another example embodimentof a method for exercise behavior prediction.

FIG. 7 sets forth a flow chart illustrating another example embodimentof a method for exercise behavior prediction.

FIG. 8 sets forth a flow chart illustrating another example embodimentof a method for exercise behavior prediction.

FIG. 9 sets forth a data flow diagram illustrating a manufacturingprocess of a device configured for exercise behavior prediction.

DETAILED DESCRIPTION

FIG. 1 sets forth a diagram of an illustrative embodiment of anapparatus (100) for exercise behavior prediction (150). In the exampleof FIG. 1, the apparatus (100) includes a wearable monitoring device(101), an optical head-mounted display device (103), a phone (196), anda server (106).

A wearable monitoring device is any device that is wearable and includesautomated computing machinery for monitoring a user. Non-limitingexamples of wearable monitoring devices include smart wristwatches,bracelets, straps, pendants, and any other forms of wearable devicescapable of monitoring a user. In the example of FIG. 1, the wearablemonitoring device (101) is a smart strap attached to the wrist of theuser (150). Readers of skill in the art will recognize that wearablemonitoring devices may be placed on any number of locations on a user.

As part of ‘monitoring’ a user, a wearable monitoring device may beconfigured to utilize data from one or more sensors that are eithercoupled to the wearable monitoring device or are part of the wearablemonitoring device. Non-limiting examples of the types of sensors thatmay be available to a wearable monitoring device include a hydrationsensor, a heart rate monitor, an ECG monitor, a pulse oximeter, athermometer, an electromyography (EMG) sensor, an accelerometer, agyroscope, a Global Positioning System (GPS) location sensor, anenvironmental condition sensor, and many other types of sensors thatwould be useful for monitoring a user.

To acquire data from these sensors, a wearable monitoring device mayinclude data acquisition (DAQ) hardware for periodically polling orreceiving data from one or more of the sensors available to the wearablemonitoring device. For example, circuitry within the wearable monitoringdevice may monitor the existence and strength of a signal from a sensorand process any signals received from the sensor. The wearablemonitoring device (101) may also include circuitry for processing thesensor data. For example, the wearable monitoring device (101) mayinclude circuitry for converting sensor data to another data form, suchas physiological data and environmental condition data. That is, thewearable monitoring device (101) of FIG. 1 may include the computingcomponents necessary to receive, process, and transform sensor data intoa type of data that is usable in a process for exercise behaviorprediction.

In the example of FIG. 1, the wearable monitoring device (101) includesa prediction evaluation controller (199) comprised of automatedcomputing machinery configured for exercise behavior prediction of theuser (150). As part of the process of exercise behavior prediction, theprediction evaluation controller (199) is configured to generate anexercise activity pattern based on correlations between scheduling of auser's historical non-exercise events and the user's historical exerciseevents.

A historical exercise event is a calendar event that indicates the userperformed or at least was scheduled to perform an exercise activity at aparticular time before the user's current time. Non-limiting examples ofexercise activities include running, walking, jogging, bicycling,swimming, jumping rope, weightlifting, pushups, curl ups, yoga,elliptical moving, climbing stairs, any many other types of physicalpositioning that may be considered by one of skill in the art toconstitute exercising. A historical exercise event may include dataassociated with the performance of the exercise activity. Non-limitingexamples of data that may be associated with the performance of theexercise activity and that may be included in the historical exerciseevent include a start time of the exercise activity, a location of theexercise activity, other attendees of the exercise activity, a durationof the exercise activity, preset goals of the exercise activity, and anyother information that may be useful for evaluating the historicalexercise event. This data may be entered by the user or may beautomatically generated based on sensor data. As part of automaticallygenerating the data, a wearable monitoring device attached to a user maydetermine when the user is performing an exercise activity and may usesensor data to generate data associated with the exercise activity. Forexample, the wearable monitoring device (101) may determine the lengthof time a user is performing an exercise activity, a location theexercise activity was performed, and a physiological state of the userwhile the user performed the exercise activity.

A historical non-exercise event is a calendar event that indicates theuser performed or at least was scheduled to perform a non-exerciseactivity at a particular time before the user's current time.Non-limiting examples of non-exercise activities include attendingmeetings, driving, flying, making telephone calls, sleeping, showering,and any other type of activity that would not be considered by one ofskill in the art to constitute exercising. A historical non-exerciseevent may include data associated with the non-exercise activity.Non-limiting examples of data that may be associated with theperformance of the non-exercise activity and that may be included in thehistorical non-exercise event include a start time of the non-exerciseactivity, a location of the non-exercise activity, other attendees ofthe non-exercise activity, a duration of the non-exercise activity, atype or classification of the non-exercise activity, and any otherinformation that may be useful for evaluating the historicalnon-exercise event. This data may be entered by the user or may beautomatically generated based on sensor data. As part of automaticallygenerating the data, a wearable monitoring device attached to a user maydetermine when the user is performing a non-exercise activity and mayuse sensor data to generate data associated with the non-exerciseactivity. For example, a wearable monitoring device may determine thelength of time a user is performing the non-exercise activity and thelocation the non-exercise activity was performed.

In a particular embodiment, to generate the data associated with theexercise event, the wearable monitoring device (101) may: determine thatthe user is performing an exercise activity; determine the type ofexercise activity; create an exercise event in the user's calendarindicating that the user is performing an exercise activity at aparticular time; and store any data collected, generated, or associatedwith the performance of that exercise activity. Determining that a useris performing a non-exercise activity may also be possible by examiningthe user's location, the user's current time, and historical calendarinformation to predict what non-exercise activity the user is doing. Forexample, a user may have a staff meeting scheduled every day at 5 P.M.at a particular location. Continuing with this example, the wearablemonitoring device may schedule or prompt the user to add a staff meetingto the user's calendar in response to detecting that the user is at theparticular location at 5 P.M. on a day where the staff meeting is notscheduled.

An exercise activity pattern is an indication of a repeated schedulingsequence of exercise events and non-exercise events on a user'scalendar. In a particular embodiment, an exercise activity patternconsists of a rule set that indicates the repeated scheduling sequenceof some combination of an exercise event and a non-exercise event.Correlations between a particular exercise event and a non-exerciseevent may be indicated by a variety of factors, including but notlimited to: a duration of time between a non-exercise event and anexercise event; a relationship between a type or classification of anon-exercise event and an exercise event; a type of exercise activityperformed during an exercise event in relation to a non-exercise event;a location of a non-exercise event and an exercise event; attendees ofan exercise event or a non-exercise event; and many types of informationthat may be useful to indicate a pattern between an exercise event and anon-exercise event.

In summary, generating an exercise activity pattern based oncorrelations between scheduling of a user's historical non-exerciseevents and the user's historical exercise events may be carried out byretrieving a user's calendar data; examining the user's calendar data toidentify repeating sequences of exercise events and non-exercise events;and creating one or more rule sets specifying a relationship between anexercise event and a non-exercise event.

For example, an exercise activity pattern may include a rule set anddata that indicates that an exercise event historically precedes anon-exercise event by a particular duration or range of time. In thisexample, the exercise activity pattern may indicate that a userhistorically goes for a run two hours before going to the airport.Another example exercise activity pattern may include a rule set thatindicates an exercise event follows a particular type of non-exerciseevent, such as an investor meeting.

As part of the process for exercise behavior prediction, the predictionevaluation controller (199) is also configured to generate, based on thegenerated exercise activity pattern, a future exercise event tocorrespond with a future non-exercise event scheduled on the user'scalendar. A future non-exercise event is a calendar event that indicatesthe user is scheduled to perform a non-exercise activity at a particulartime after the current time. A future non-exercise event may includedata associated with the non-exercise activity. Non-limiting examples ofdata that may be associated with the performance of the futurenon-exercise activity and that may be included in the futurenon-exercise event include a start time of the future non-exerciseactivity, a location of the future non-exercise activity, anticipatedattendees of the future non-exercise activity, a scheduled duration ofthe non-exercise activity, a type or classification of the non-exerciseactivity, and any other information that may be useful for evaluatingthe future non-exercise event.

A future exercise event is a calendar event that indicates the user isscheduled to perform an exercise activity at a particular time after thecurrent time. A future exercise event may include data associated withan exercise activity scheduled to be performed during the futureexercise event. Non-limiting examples of data that may be associatedwith the future exercise activity scheduled to be performed include astart time of the future exercise activity, a location of the futureexercise activity, anticipated attendees of the future exerciseactivity, a scheduled duration of the future exercise activity, presetgoals of the future exercise activity, and any other information thatmay be useful for evaluating or scheduling the future exercise event.

Generating, based on the generated exercise activity pattern, a futureexercise event to correspond with a future non-exercise event scheduledon the user's calendar may be carried out by identifying the futurenon-exercise event; utilizing the generated exercise activity pattern toidentify a candidate future exercise event; and determine whether theuser's calendar includes a future exercise event that corresponds withthe candidate future exercise event. If the prediction evaluationcontroller (199) determines that the user's calendar does not include afuture exercise event that corresponds with the candidate futureexercise event, the prediction evaluation controller (199) may use thecandidate future exercise event as the generated future exercise event.

As part of the process for exercise behavior prediction, the predictionevaluation controller (199) is also configured to provide an indicationof the generated future exercise event. Providing an indication of thegenerated future exercise event may be carried out by communicating theindication of the generated future exercise event to the user. Providingan indication of the generated future exercise event may also includecommunicating an explanation for why the generated future exercise eventis being indicated. For example, the prediction evaluation controllermay transmit an audio message to the user via a speaker or audio outputon the wearable monitoring device. In this example, the audio messagemay identify information associated with the generated future exerciseevent along with an explanation for why the generated future exerciseevent is being recommended. Non-limiting examples of explanations forwhy the generated future exercise event is being recommended include:“you typically exercise after an investor meeting”; “you like to go fora run before going out of town”; and “typically, you go for a walkbefore staff meetings, would you like to schedule a walk after beforeyour staff meeting tomorrow?”.

As another example, the prediction evaluation controller (199) maytransmit a visual output to a screen of the wearable monitoring device(101). In this example, the visual output may display the generatedfuture exercise event along with an explanation for why the generatedfuture exercise event is being indicated. Examples of visual output mayinclude a displayed message, an animated avatar performing the generatedfuture exercise event, and many others as will occur to Readers of skillin the art.

In a particular embodiment, providing an indication of the generatedfuture exercise event may include transmitting the indication of thefuture exercise event to a prediction presentation controller (195). Aprediction presentation controller includes automated computingmachinery configured to receive the indication of the generated futureexercise event and to present the indication of the generated futureexercise event to a user. In the example of FIG. 1, the phone (196) andthe optical head-mounted display device (103) both include theprediction presentation controller (195). The phone (196) and theoptical head-mounted display device (103) may include visual and audiooutputs for providing the indication of the generated future exerciseevent to the user (150). The wearable monitoring device (101) of FIG. 1also includes the prediction presentation controller (195). However,Readers of skill in the art will realize that the predictionpresentation controller (195) and the prediction evaluation controller(199) need not be incorporated into the same device.

The prediction evaluation controller (199) may also be configured toprovide an indication of the generated future exercise event to anotherdevice. For example, the prediction evaluation controller (199) mayprovide the indication of the generated future exercise event to aserver (106) via a network (172). The server (106) includes a predictionevaluation monitor (197). The prediction evaluation monitor (197) mayinclude automated computing machinery configured to receive theindication of the generated future exercise event and the generatedexercise activity patterns. The recommendation evaluation monitor (197)may also be configured to act as a database repository for that storesphysiological data, environmental condition data, and any other type ofdata that the prediction evaluation controller (199) may utilize togenerate and provide a future exercise event to a user. The predictionevaluation monitor (197) may be configured to provide this stored datato the prediction evaluation controller (199). The prediction evaluationmonitor (197) may also be configured to act as a central repository formultiple users so that users can share performance results,physiological data, sensed data, environmental condition data,indications of the future exercise events, and explanations for theindications of the future exercise events. For example, a user of thewearable monitoring device (101) may forward an indication of a futureexercise event to another user. The other user may use the indication ofthe future exercise event to schedule the future exercise event on theother user's calendar.

Referring to FIG. 2, an illustrative apparatus (200) for exercisebehavior prediction is shown. The apparatus (200) includes a controller(291) that includes a processor (214), read only memory (ROM) (216),random access memory (RAM) (218). The RAM (218) includes a predictionevaluation controller (299) and a prediction presentation controller(295). Although, in the example of FIG. 2, the prediction evaluationcontroller (299) and the prediction presentation controller (295) areincluded in RAM (218), Readers of skill in the art will recognize thatthe prediction evaluation controller (299) and the predictionpresentation controller (295) may be included in other storagelocations, such as the ROM (216) and an external storage unit (260),which is coupled for data communications with the controller (291).

In the example of FIG. 2, the apparatus (200) also includes a powersupply (288), a screen (222), a screen controller (250), a networkinterface (224), an input/output controller (232) having a speaker (228)and a button (230), a data acquisition processing unit (DAQ) (283), anda sensor unit (203). The sensor unit (203) of FIG. 2 includes sensorsfor generating, capturing, and transmitting motion data. In the exampleof FIG. 2, the sensor unit (203) includes an accelerometer (210), agyroscope (211), and a global positioning system unit (212).

An accelerometer measures proper acceleration, which is the accelerationit experiences relative to freefall and is the acceleration felt bypeople and objects. Put another way, at any point in spacetime theequivalence principle guarantees the existence of a local inertialframe, and an accelerometer measures the acceleration relative to thatframe. Such accelerations are popularly measured in terms of g-force.Conceptually, an accelerometer behaves as a damped mass on a spring.When the accelerometer experiences an acceleration, the mass isdisplaced to the point that the spring is able to accelerate the mass atthe same rate as the casing. The displacement is then measured to givethe acceleration. Modern accelerometers are often small microelectro-mechanical systems (MEMS), and are indeed the simplest MEMSdevices possible, consisting of little more than a cantilever beam witha proof mass (also known as seismic mass). Damping results from theresidual gas sealed in the device. As long as the Q-factor is not toolow, damping does not result in a lower sensitivity. Mostmicromechanical accelerometers operate in-plane, that is, they aredesigned to be sensitive only to a direction in the plane of the die. Byintegrating two devices perpendicularly on a single die a two-axisaccelerometer can be made. By adding another out-of-plane device threeaxes can be measured. Such a combination may have much lowermisalignment error than three discrete models combined after packaging.Micromechanical accelerometers are available in a wide variety ofmeasuring ranges, reaching up to thousands of g's.

A gyroscope is a device for measuring or maintaining orientation, basedon the principles of angular momentum. Mechanical gyroscopes typicallycomprise a spinning wheel or disc in which the axle is free to assumeany orientation. Although the orientation of the spin axis changes inresponse to an external torque, the amount of change and the directionof the change is less and in a different direction than it would be ifthe disk were not spinning. When mounted in a gimbal (which minimizesexternal torque), the orientation of the spin axis remains nearly fixed,regardless of the mounting platform's motion. Gyroscopes based on otheroperating principles also exist, such as the electronic,microchip-packaged MEMS gyroscope devices found in consumer electronicdevices, solid-state ring lasers, fibre optic gyroscopes, and theextremely sensitive quantum gyroscope. A MEMS gyroscope takes the ideaof the Foucault pendulum and uses a vibrating element, known as a MEMS(Micro Electro-Mechanical System). The integration of the gyroscope hasallowed for more accurate recognition of movement within a 3D space thanthe previous lone accelerometer within a number of smartphones.Gyroscopes in consumer electronics are frequently combined withaccelerometers (acceleration sensors) for more robust direction- andmotion-sensing.

The Global Positioning System (GPS) is a space-based satellitenavigation system that provides location and time information in allweather conditions, anywhere on or near the Earth where there is anunobstructed line of sight to four or more GPS satellites. In general,GPS receivers are composed of an antenna, tuned to the frequenciestransmitted by the satellites, receiver-processors, and a highly stableclock (often a crystal oscillator).

The sensor unit (203) of FIG. 2 also includes a sensor (213) forgenerating, capturing, and transmitting environmental condition data.Environmental condition data may include any indications of theenvironment of the user. In a particular embodiment, environmentalcondition data may indicate weather conditions, such as humidity level,precipitation measurements, cloud coverage, and temperature.Environmental condition data may also indicate whether the user isinside or outside. For example, a user may provide input to the wearablemonitoring device indicating that the user is indoors. In anotherembodiment, environmental condition data may be measured by the wearablemonitoring device. For example, the wearable monitoring device mayinclude a sensor that monitors humidity level or temperature surroundingthe wearable monitoring device. In another embodiment, the wearablemonitoring device may use one or more network interfaces to receiveindications of environmental conditions, such as from a weatherindication application, or from a local environmental conditionindication device, such as a networked humidity and temperature sensor.

The sensor unit (203) of FIG. 2 also includes sensors for generating,capturing, and transmitting physiological data. In the example of FIG.2, the sensor unit (203) includes a hydration sensor (204), a heart ratemonitor (205), an electrocardiograph (ECG) monitor (206), a pulseoximeter (207), a thermometer (208), and an electromyograph (209) forperforming electromyography (EMG).

A hydration sensor may be any type of sensor capable of measuring ahydration level of a person. Measuring a hydration level of a person maybe performed by a variety of methods via a variety of systems, includingbut not limited to measuring transepidermal water loss (TWL) with a skinhydration probe. TWL is defined as the measurement of the quantity ofwater that passes from inside a body through the epidermal layer (skin)to the surrounding atmosphere via diffusion and evaporation processes.

A heart rate monitor (HRM) typically functions by detecting anelectrical signal that is transmitted through the heart muscle as theheart contracts. This electrical activity can be detected through theskin. An ECG monitor also generates an activity pattern based onelectrical activity of the heart. On the ECG, instantaneous heart rateis typically calculated using the R wave-to-R wave (RR) interval andmultiplying/dividing in order to derive heart rate in heartbeats/min.

A pulse oximeter is a medical device that indirectly monitors the oxygensaturation of a user's blood (as opposed to measuring oxygen saturationdirectly through a blood sample) and changes in blood volume in theskin, producing a photoplethysmogram. A typical pulse oximeter utilizesan electronic processor and a pair of small light-emitting diodes (LEDs)facing a photodiode through a translucent part of the patient's body,usually a fingertip or an earlobe. Typically one LED is red, withwavelength of 660 nm, and the other is infrared with a wavelength of 940nm. Absorption of light at these wavelengths differs significantlybetween blood loaded with oxygen and blood lacking oxygen. Oxygenatedhemoglobin absorbs more infrared light and allows more red light to passthrough. Deoxygenated hemoglobin allows more infrared light to passthrough and absorbs more red light. The LEDs flash about thirty timesper second which allows the photodiode to respond to the red andinfrared light separately. The amount of light that is transmitted (inother words, that is not absorbed) is measured, and separate normalizedsignals are produced for each wavelength. These signals fluctuate intime because the amount of arterial blood that is present increases(literally pulses) with each heartbeat. By subtracting the minimumtransmitted light from the peak transmitted light in each wavelength,the effects of other tissues is corrected for. The ratio of the redlight measurement to the infrared light measurement is then calculatedby the processor (which represents the ratio of oxygenated hemoglobin todeoxygenated hemoglobin), and this ratio is then converted to SpO2 bythe processor via a lookup table.

A thermometer is a device that measures temperature or a temperaturegradient. A thermistor is an example of a type of thermometer that maybe used to measure temperature. A thermistor is a type of resistor whoseresistance varies significantly with temperature, more so than instandard resistors. Thermistors are widely used as inrush currentlimiters, temperature sensors, self-resetting overcurrent protectors,and self-regulating heating elements.

An electromyograph detects the electrical potential generated by musclecells when these cells are electrically or neurologically activated. Thesignals can be analyzed to detect medical abnormalities, activationlevel, or recruitment order or to analyze the biomechanics of human oranimal movement.

The data acquisition (DAQ) hardware (283) is configured for periodicallypolling or receiving data from one or more sensors. For example,circuitry within the DAQ (283) may monitor the existence and strength ofa signal from a sensor and process any signals received the sensor. TheDAQ (283) may also include circuitry for processing the sensor data. Forexample, the DAQ (283) may include circuitry for conversion of sensordata to another data form, such as motion data, physiological data, orenvironmental condition data. That is, the DAQ (283) of FIG. 2 mayinclude the computing components necessary to receive, process, andtransform sensor data into a type of data that is usable in a processfor exercise behavior prediction.

The prediction evaluation controller (299) comprises automated computingmachinery configured for exercise behavior prediction of a user.Specifically, the prediction evaluation controller (299) is configuredto generate an exercise activity pattern (261) based on correlationsbetween scheduling of a user's historical non-exercise events (265) andthe user's historical exercise events (264). In the example of FIG. 2,the user's historical non-exercise events (265) and the user'shistorical exercise events (264) are included in user calendar data(263) stored in RAM (218). The prediction evaluation controller (299) isalso configured to generate, based on the generated exercise activitypattern (261), a future exercise event (262) to correspond with a futurenon-exercise event (266) scheduled on the user's calendar. In theexample of FIG. 2, the prediction evaluation controller is alsoconfigured to provide an indication of the generated future exerciseevent (262).

The prediction presentation controller (295) comprises automatedcomputing machinery configured for exercise behavior prediction of auser. Specifically, the prediction presentation controller (295) isconfigured to receive the indication of the generated future exerciseevent (262) and to present the indication of the generated futureexercise event to the user. In the example of FIG. 2, the predictionpresentation controller (295) may provide the indication of thegenerated future exercise event by: generating and transmitting visualoutput that is used to display a message within a graphical userinterface displayed on the screen (222); and generating and transmittingaudio output that is used to play audio over on the speaker (228).

The controller (291) is also coupled to a network interface (224), suchas an Ethernet port, modem port or other network port adapter. Thenetwork interface (224) is adapted to connect to a network and to senddata to a prediction presentation controller or a prediction evaluationmonitor located on a separate device. The network may include one or acombination of any type of network such as LAN, WAN, WLAN, publicswitched telephone network, GSM, or otherwise.

In a particular embodiment, the power supply (288) may include circuitryused for inductive charging. Inductive charging (also known as “wirelesscharging”) uses an electromagnetic field to transfer energy between twoobjects. This is usually done with a charging station. Energy is sentthrough an inductive coupling to an electrical device, which can thenuse that energy to charge batteries or run the device. Inductionchargers typically use an induction coil to create an alternatingelectromagnetic field from within a charging base station, and a secondinduction coil in the portable device takes power from theelectromagnetic field and converts it back into electrical current tocharge the battery. The two induction coils in proximity combine to forman electrical transformer. Greater distances between sender and receivercoils can be achieved when the inductive charging system uses resonantinductive coupling. Recent improvements to this resonant system includeusing a movable transmission coil (i.e., mounted on an elevatingplatform or arm), and the use of advanced materials for the receivercoil made of silver plated copper or sometimes aluminum to minimizeweight and decrease resistance due to the skin effect.

For further explanation, FIG. 3 sets forth a diagram illustrating anexample graphical user interface (GUI) (350) of a calendar that utilizesan embodiment of exercise behavior prediction. In the example of FIG. 3,the shaded area (390) indicates that the current time is 2 P.M. onTuesday. The events (both non-exercise and exercise) that were scheduledon Sunday and Monday are considered historical. For example, the GUI(350) includes a first historical exercise event (352) scheduled at 2P.M. on Sunday followed by a first historical non-exercise event (354)scheduled at 4 P.M. On Monday, the GUI (350) has scheduled a secondhistorical exercise event (356) at 5 P.M. followed by a secondhistorical non-exercise event (358) at 7 P.M. The GUI (350) of FIG. 3also includes a future non-exercise event (360) scheduled at 6 P.M. onTuesday.

According to various embodiments, a prediction evaluation controller maygenerate an exercise activity pattern based on correlations betweenscheduling of a user's historical non-exercise events (354, 358) and theuser's historical exercise events (352, 356). As part of generating anexercise activity pattern, a prediction evaluation controller mayretrieve user calendar data; examine the user calendar data to identifyrepeating sequences of exercise events and non-exercise events; andcreate one or more rule sets specifying a relationship between anexercise event and a non-exercise event. In the example of FIG. 3, theprediction evaluation controller may generate an exercise activitypattern that indicates that the user historically goes for a run twohours before a meeting.

After generating the exercise activity pattern, the predictionevaluation controller may generate, based on the generated exerciseactivity pattern, a future exercise event (362) to correspond with afuture non-exercise event (360) scheduled on the user's calendar. In theexample of FIG. 3, the prediction evaluation controller may identify thefuture non-exercise event (360); determine that the future non-exerciseevent (360) does not have an already scheduled corresponding futureexercise event; and determine a time for the future exercise event(362).

After generating the future exercise event, the prediction evaluationcontroller may provide an indication of the generated future exerciseevent (362) to a user. In the example of FIG. 3, the predictionevaluation controller adds the future exercise event (362) to the user'scalendar as indicated in the GUI (350).

For further explanation, FIG. 4 sets forth a flow chart illustrating anexample embodiment of a method for exercise behavior prediction. Themethod of FIG. 4 includes a prediction evaluation controller (499)generating (402) an exercise activity pattern (460) based oncorrelations between scheduling of a user's historical non-exerciseevents (456) and the user's historical exercise events (452).

A historical exercise event is a calendar event that indicates the userperformed or at least was scheduled to perform an exercise activity at aparticular time before the user's current time. Non-limiting examples ofexercise activities include running, walking, jogging, bicycling,swimming, jumping rope, weightlifting, pushups, curl ups, yoga,elliptical moving, climbing stairs, any many other types of physicalpositioning that may be considered by one of skill in the art toconstitute exercising. A historical exercise event may include dataassociated with the performance of the exercise activity. Non-limitingexamples of data that may be associated with the performance of theexercise activity and that may be included in the historical exerciseevent include a start time of the exercise activity, a location of theexercise activity, other attendees of the exercise activity, a durationof the exercise activity, preset goals of the exercise activity, and anyother information that may be useful for evaluating the historicalexercise event. This data may be entered by the user or may beautomatically generated based on sensor data. As part of automaticallygenerating the data, a wearable monitoring device attached to a user maydetermine when the user is performing an exercise activity and may usesensor data to generate data associated with the exercise activity. Forexample, the wearable monitoring device (101) may determine the lengthof time a user is performing an exercise activity, a location theexercise activity was performed, and a physiological state of the userwhile the user performed the exercise activity.

A historical non-exercise event is a calendar event that indicates theuser performed or at least was scheduled to perform a non-exerciseactivity at a particular time before the user's current time.Non-limiting examples of non-exercise activities include attendingmeetings, driving, flying, making telephone calls, sleeping, showering,and any other type of activity that would not be considered by one ofskill in the art to constitute exercising. A historical non-exerciseevent may include data associated with the non-exercise activity.Non-limiting examples of data that may be associated with theperformance of the non-exercise activity and that may be included in thehistorical non-exercise event include a start time of the non-exerciseactivity, a location of the non-exercise activity, other attendees ofthe non-exercise activity, a duration of the non-exercise activity, atype or classification of the non-exercise activity, and any otherinformation that may be useful for evaluating the historicalnon-exercise event. This data may be entered by the user or may beautomatically generated based on sensor data. As part of automaticallygenerating the data, a wearable monitoring device attached to a user maydetermine when the user is performing a non-exercise activity and mayuse sensor data to generate data associated with the non-exerciseactivity. For example, a wearable monitoring device may determine thelength of time a user is performing the non-exercise activity and thelocation the non-exercise activity was performed.

In a particular embodiment, to generate the data associated with theexercise event, the wearable monitoring device (101) may: determine thatthe user is performing an exercise activity; determine the type ofexercise activity; create an exercise event in the user's calendarindicating that the user is performing an exercise activity at aparticular time; and store any data collected, generated, or associatedwith the performance of that exercise activity. Determining that a useris performing a non-exercise activity may also be possible by examiningthe user's location, the user's current time, and historical calendarinformation to predict what non-exercise activity the user is doing. Forexample, a user may have a staff meeting scheduled every day at 5 P.M.at a particular location. Continuing with this example, the wearablemonitoring device may schedule or prompt the user to add a staff meetingto the user's calendar in response to detecting that the user is at theparticular location at 5 P.M. on a day where the staff meeting is notscheduled.

An exercise activity pattern is an indication of a repeated schedulingsequence of exercise events and non-exercise events on a user'scalendar. In a particular embodiment, an exercise activity patternconsists of a rule set that indicates the repeated scheduling sequenceof some combination of an exercise event and a non-exercise event.Correlations between a particular exercise event and a non-exerciseevent may be indicated by a variety of factors, including but notlimited to: a duration of time between a non-exercise event and anexercise event; a relationship between a type or classification of anon-exercise event and an exercise event; a type of exercise activityperformed during an exercise event in relation to a non-exercise event;a location of a non-exercise event and an exercise event; attendees ofan exercise event or a non-exercise event; and many types of informationthat may be useful to indicate a pattern between an exercise event and anon-exercise event.

In summary, generating (402) an exercise activity pattern (460) based oncorrelations between scheduling of a user's historical non-exerciseevents (456) and the user's historical exercise events (452) may becarried out by retrieving user calendar data; examining the usercalendar data to identify repeating sequences of exercise events andnon-exercise events; and creating one or more rule sets specifying arelationship between an exercise event and a non-exercise event.

For example, an exercise activity pattern may include a rule set anddata that indicates that an exercise event historically precedes anon-exercise event by a particular duration or range of time. In thisexample, the exercise activity pattern may indicate that a userhistorically goes for a run two hours before going to the airport.Another example exercise activity pattern may include a rule set thatindicates an exercise event follows a particular type of non-exerciseevent, such as an investor meeting.

The method of FIG. 4 also includes the prediction evaluation controller(499) generating (404), based on the generated exercise activity pattern(460), a future exercise event (468) to correspond with a futurenon-exercise event (458) scheduled on the user's calendar. A futurenon-exercise event is a calendar event that indicates the user isscheduled to perform a non-exercise activity at a particular time afterthe current time. A future non-exercise event may include dataassociated with the non-exercise activity. Non-limiting examples of datathat may be associated with the performance of the future non-exerciseactivity and that may be included in the future non-exercise eventinclude a start time of the future non-exercise activity, a location ofthe future non-exercise activity, anticipated attendees of the futurenon-exercise activity, a scheduled duration of the non-exerciseactivity, a type or classification of the non-exercise activity, and anyother information that may be useful for evaluating the futurenon-exercise event.

A future exercise event is a calendar event that indicates the user isscheduled to perform an exercise activity at a particular time after thecurrent time. A future exercise event may include data associated withan exercise activity scheduled to be performed during the futureexercise event. Non-limiting examples of data that may be associatedwith the future exercise activity scheduled to be performed include astart time of the future exercise activity, a location of the futureexercise activity, anticipated attendees of the future exerciseactivity, a scheduled duration of the future exercise activity, presetgoals of the future exercise activity, and any other information thatmay be useful for evaluating or scheduling the future exercise event.

Generating (404), based on the generated exercise activity pattern(460), a future exercise event (468) to correspond with a futurenon-exercise event (458) scheduled on the user's calendar may be carriedout by identifying the future non-exercise event; utilizing thegenerated exercise activity pattern to identify a candidate futureexercise event; and determining whether the user's calendar includes afuture exercise event that corresponds with the candidate futureexercise event. If the prediction evaluation controller (499) determinesthat the user's calendar does not include a future exercise event thatcorresponds with the candidate future exercise event, the predictionevaluation controller (499) may use the candidate future exercise eventto generate the future exercise event (468).

The method of FIG. 4 also includes the prediction evaluation controller(499) providing (406) an indication (470) of the generated futureexercise event (468). Providing (406) an indication (470) of thegenerated future exercise event (468) may be carried out by sending arecommendation message to the user suggesting a time for the futureexercise event; or automatically scheduling the future exercise event.For example, the prediction evaluation controller (499) may transmit theindication (470) to another wearable monitoring device, a user's phone,or a user's computer.

For further explanation, FIG. 5 sets forth a flow chart illustratinganother example embodiment of a method for exercise behavior prediction.The method of FIG. 5 is similar to the method of FIG. 4 in that themethod of FIG. 5 also includes a prediction evaluation controller (499)generating (402) an exercise activity pattern (460) based oncorrelations between scheduling of a user's historical non-exerciseevents (456) and the user's historical exercise events (452); generating(404), based on the generated exercise activity pattern (460), a futureexercise event (468) to correspond with a future non-exercise event(458) scheduled on the user's calendar; and providing (406) anindication (470) of the generated future exercise event (468).

In the example of FIG. 5, generating (402) an exercise activity pattern(460) based on correlations between scheduling of a user's historicalnon-exercise events (456) and the user's historical exercise events(452) includes selecting (502) from a plurality of exercise activities(540), a particular exercise activity (542) for the user to performduring the generated future exercise event (468). Selecting (502) from aplurality of exercise activities (540), a particular exercise activity(542) for the user to perform during the generated future exercise event(468) may be carried out by storing a selection of a particular exerciseactivity within data associated with the future exercise event. Forexample, the prediction evaluation controller (499) may store metadatawithin the future exercise event indicating the selection of theparticular exercise activity.

In the example of FIG. 5, selecting (502) a particular exercise activity(542) may optionally include selecting (504) the particular exerciseactivity (542) based on a forecast of environmental conditions (558)anticipated during the generated future exercise event (468).Environmental data may include any data indicating an environment of theuser. In a particular embodiment, environmental condition data mayindicate weather conditions, such as humidity level, precipitationmeasurements, cloud coverage, and temperature. Environmental conditiondata may also indicate whether the user is inside or outside. Forexample, during performance of an exercise activity during an exerciseevent, a user may provide input to a wearable monitoring deviceindicating that the user is indoors.

In another embodiment, environmental condition data may be measured bythe wearable monitoring device. For example, the wearable monitoringdevice may include a sensor that monitors humidity level or temperaturesurrounding the wearable monitoring device. In another embodiment, thewearable monitoring device may use one or more network interfaces toreceive indications of environmental conditions, such as from a weatherindication application, or from a local environmental conditionindication device, such as a networked humidity and temperature sensor.Forecasted environmental condition data (558) is data indicating aprediction of the environmental conditions anticipated or predictedduring the future exercise event. For example, the forecastedenvironmental conditions may indicate a thunderstorm is predicted duringthe future exercise event. In this example, the prediction evaluationcontroller (499) may select an indoor activity, such as weightlifting ata gym for the selected exercise activity (542). Selecting (504) theparticular exercise activity (542) based on a forecast of environmentalcondition data (558) may be carried out by receiving forecastedenvironmental conditions (558); and selecting an exercise activity basedon a table that corresponds environmental conditions with predeterminedacceptable exercise activities.

In the example of FIG. 5, selecting (502) a particular exercise activity(542) may optionally include selecting (506) the particular exerciseactivity (542) based on historic environmental conditions (554) duringthe user's performance of the one or more exercise activities during theuser's historic exercise events. Historical environmental condition datais environmental condition data associated with a historical exerciseevent. Selecting (506) the particular exercise activity (542) based onhistoric environmental conditions (554) during the user's performance ofthe one or more exercise activities during the user's historic exerciseevents may be carried out by examining the types of exercise activitiesa user performed based on the environmental conditions present during ahistorical exercise event. For example, the prediction evaluationcontroller (499) may be determine that a user has an exercise activitypattern of choosing to swim in an indoor pool when it is raining outsideand a pattern of running during exercise events when the weather isovercast. In this example, in response to a weather forecast indicatingthe sky will be overcast and not raining during the future exerciseevent, the prediction evaluation controller (499) may select as theexercise activity (542), a running exercise activity for the futureexercise event (468).

In the example of FIG. 5, selecting (502) a particular exercise activity(542) may optionally include selecting (508) the particular exerciseactivity (542) based on an evaluation of a user's performance of one ormore exercise activities during the user's historic exercise events. Anevaluation of a performance of an exercise activity may include dataindicating measurements associated with the performance of the exerciseactivity. The measurements may be entered by a user during or after theexercise event. Alternatively, the measurements may be captured orgenerated by a user monitoring device utilizing one or more sensor. Datathat may be included in an evaluation of a user's performance of anexercise activity may include indications of distance covered incomparison to a distance goal or historical distance achievement; stepswalked in comparison to a steps walked goal or historical steps walkedachievement; stairs climbed in comparison to historical achievements orgoals; strides taken in comparison to historical achievements or goals;a duration of the exercise activity in comparison to historicalachievements or goals. Selecting (504) the particular exercise activity(542) based on an evaluation of a user's performance of one or moreexercise activities during the user's historic exercise events may becarried out by using the data in the evaluation to rank and sortpossible exercise activities based on the user's past performance; andselecting the exercise activity based on the ranking of the sortedpossible exercise activities.

For example, evaluation of performance indicators (550) may indicatethat the user typically fails to complete scheduled five mile runs buttypically does complete scheduled bicycle rides. In this example, theprediction evaluation controller (499) may rank a bicycle exerciseactivity higher than a running exercise activity; and therefore mayselect a bicycle exercise activity more often than selecting a runningexercise activity.

In the example of FIG. 5, selecting (502) a particular exercise activity(542) may optionally include selecting (510) the particular exerciseactivity (542) based on current physiological data (556) indicating atleast one vital sign of the user. Physiological data is data generatedfrom sensors monitoring one or more vital signs of a user. Non-limitingexamples of physiological data include hydration measurements, heartrate, oxygen saturation, temperature, muscle contractions, bloodpressure, and any other types of measurements indicating a vital sign ofa person. Selecting (510) the particular exercise activity (542) furtherbased on current physiological data (556) may be carried out bycomparing the physiological data (556) to a threshold and recommendingan exercise activity that may lower a value of the physiological data tobelow the threshold. For example, the physiological data may indicate ahydration level of a user. In this example, the prediction evaluationcontroller (499) may determine if the hydration level of the user isbelow a hydration level threshold and recommend a specific type ofexercise activity if the user's hydration level is below the hydrationlevel threshold. The prediction evaluation controller (499) may alsoinclude a specific hydration level threshold for each particularexercise activity.

In the example of FIG. 5, selecting (502) a particular exercise activity(542) may optionally include selecting (512) the particular exerciseactivity (542) based on historic physiological data (552) indicating atleast one vital sign of the user during the user's performance of theone or more exercise activities during the user's historic exerciseevents. Selecting (512) the particular exercise activity (542) based onhistoric physiological data (552) indicating at least one vital sign ofthe user during the user's performance of the one or more exerciseactivities during the user's historic exercise events may be carried outby evaluating the user's performance of an exercise activity in view ofthe physiological state of the user while performing the exerciseactivity. For example, the prediction evaluation controller (499) mayevaluate a user's performance during a scheduled five mile run as partof the process of selecting an exercise activity for the future exerciseevent. In this example, if the user fails to complete the five mile run,the prediction evaluation controller (499) may also examine thephysiological state of the user to determine if there were other factorsthat may have impaired the user's ability to complete the run.Continuing with this example, the prediction evaluation controller (499)may determine that the user is typically severely dehydrated duringexercise events having a five mile run planned as the exercise activity.In this example, instead of not scheduling five mile runs for theselected exercise activities of future exercise events, the predictionevaluation controller (499) may select a five mile run along withprovide a physiological improvement recommendation that the user gethydrated before the run. Generating and providing a physiologicalimprovement recommendation will be explained in greater detail in thedescription of FIG. 7.

In the example of FIG. 5, selecting (502) a particular exercise activity(542) may optionally include selecting (514) the particular exerciseactivity (542) based on a fitness goal (560) of the user. An identifiedfitness goal of a user is any indication of the fitness goal a user istrying to achieve. Non-limiting examples of fitness goals include losingweight, gaining weight, building muscle, burning fat, building cardioendurance, building high intensity short interval cardio endurance,building long distance cardio endurance, or any indication of a changeor measure that the user is interesting in achieving. For example, auser may indicate that the user's fitness goal is to build muscle.Continuing with this example, the prediction evaluation controller (199)may select a weightlifting exercise activity as the exercise activity(542). Selecting (514) the particular exercise activity (542) based on afitness goal (560) of the user may be carried out by using the fitnessgoal of the user to identify one or more exercise activities that willhelp a user achieve the fitness goal.

For further explanation, FIG. 6 sets forth a flow chart illustratinganother example embodiment of a method for exercise behavior prediction.The method of FIG. 6 is similar to the method of FIG. 4 in that themethod of FIG. 6 also includes a prediction evaluation controller (499)generating (402) an exercise activity pattern (460) based oncorrelations between scheduling of a user's historical non-exerciseevents (456) and the user's historical exercise events (452); generating(404), based on the generated exercise activity pattern (460), a futureexercise event (468) to correspond with a future non-exercise event(458) scheduled on the user's calendar; and providing (406) anindication (470) of the generated future exercise event (468).

In the example of FIG. 6, providing (406) an indication (470) of thegenerated future exercise event (468) optionally includes sending (602)to the user, a new event request (650) to schedule the generated futureexercise event (468) on the user's calendar. Sending (602) to the user,a new event request (650) to schedule the generated future exerciseevent (468) on the user's calendar may be carried out by generating acalendar message that includes data associated with the future exerciseevent.

In the example of FIG. 6, providing (406) an indication (470) of thegenerated future exercise event (468) also optionally includesautomatically scheduling (604) the generated future exercise event (468)on the user's calendar. Automatically scheduling (604) the generatedfuture exercise event (468) on the user's calendar may be carried out bycoordinating with a program that controls the user's calendar to add thegenerated future exercise event to the calendar.

For further explanation, FIG. 7 sets forth a flow chart illustratinganother example embodiment of a method for exercise behavior prediction.The method of FIG. 7 is similar to the method of FIG. 4 in that themethod of FIG. 7 also includes a prediction evaluation controller (499)generating (402) an exercise activity pattern (460) based oncorrelations between scheduling of a user's historical non-exerciseevents (456) and the user's historical exercise events (452); generating(404), based on the generated exercise activity pattern (460), a futureexercise event (468) to correspond with a future non-exercise event(458) scheduled on the user's calendar; and providing (406) anindication (470) of the generated future exercise event (468).

The method of FIG. 7 also includes the prediction evaluation controller(499) generating (702), based on physiological data (740) indicating atleast one vital sign of the user, a physiological improvementrecommendation (742) indicating an activity (744) to improve a user'sphysiological condition for performance of the generated future exerciseevent (468). A physiological improvement recommendation indicates anactivity predetermined to improve one or more aspects of the user'sphysiological state. For example, if a user is dehydrated, theprediction evaluation controller (499) may generate a physiologicalimprovement recommendation suggesting a hydration activity, such asdrinking water. Generating (702) a physiological improvementrecommendation (742) may be carried out by examining a user'sphysiological state during a performance of an exercise activity;identifying one or more physiological parameters that was outside of anacceptable range during the particular exercise activity; and generatinga physiological improvement recommendation to correspond with the futureexercise event if the particular exercise activity is scheduled duringthe future exercise event. For example, if the prediction evaluationcontroller (499) determines that a user typically is dehydrated during arunning exercise activity, the prediction evaluation controller (499)may suggest a hydration activity at some point before a future exerciseevent that includes running as the exercise activity. Non-limitingexamples of other physiological improvement recommendations includeindicating a cool down activity in response to the user being outsidefor too long or having a body temperature that is above a threshold;indicating a warm up activity in response to the user being sedentaryfor a length of time; indicating the user eat carbohydrates, such asbefore a cardio intensive exercise activity; indicating the user eatprotein before or after a weightlifting exercise activity; indicatingthe user increase oxygen saturation, such as being doing an exerciseactivity such as skiing or rock climbing; and many others as will occurto those of skill in the art.

Generating (702) a physiological improvement recommendation (742) mayalso be carried out by examining a table that associates exerciseactivities with predefined ranges of acceptable physiologicalparameters; determining whether the user's current physiological stateis outside of the acceptable physiological parameters associated with anexercise activity scheduled during a future exercise event; andidentifying one or more physiological improvement activities to changethe user's physiological state into accordance with the acceptablephysiological parameters. For example, the prediction evaluationcontroller (499) may determine that a user should have an optimalhydration level before starting a run. In this example, the predictionevaluation controller (499) may generate a physiological improvementrecommendation that suggests a hydration activity a couple of hoursbefore going running if the prediction evaluation controller determinesthe user's hydration level is below the optimal level. The durationbetween the future exercise event and the activity in the physiologicalimprovement recommendation may depend upon the type of activityrecommended in the physiological improvement recommendation.

In the example of FIG. 7, generating (702) a physiological improvementrecommendation (742) may optionally include generating (706) aphysiological improvement recommendation (742) further based on aforecast of environmental conditions (750) anticipated during thegenerated future exercise event (468). Generating (706) a physiologicalimprovement recommendation (742) further based on a forecast ofenvironmental conditions (750) anticipated during the generated futureexercise event (468) may be carried out by changing one or moreparameters of the physiological improvement recommendation based on theexpected weather conditions for a future exercise event. For example,the prediction evaluation controller may generate a physiologicalimprovement recommendation based on the forecasted environmentalconditions indicating the weather will have a particular humidity leveland temperature level. In this example, the physiological improvementrecommendation may recommend the user start an exercise activity withhigher hydration levels as the humidity level and temperature levelforecasted for the exercise event increase.

The method of FIG. 7 also includes the prediction evaluation controller(499) providing (704) the generated physiological improvementrecommendation (740). Providing (704) the generated physiologicalimprovement recommendation (740) may be carried out by displaying amessage that indicates the physiological improvement recommendation.

In the example of FIG. 7, providing (704) the generated physiologicalimprovement recommendation (740) optionally includes sending (708) tothe user, a new event request (752) to schedule the activity (744)indicated in the identified physiological improvement recommendation(742). Sending (708) to the user, a new event request (752) to schedulethe activity (744) indicated in the identified physiological improvementrecommendation (742) may be carried out by transmitting a message askingthe user if the user wants to schedule the activity suggested in thephysiological improvement recommendation.

In the example of FIG. 7, providing (704) the generated physiologicalimprovement recommendation (740) optionally includes automaticallyscheduling (710) the activity (744) indicated in the identifiedphysiological improvement recommendation (742). Automatically scheduling(710) the activity (744) indicated in the identified physiologicalimprovement recommendation (742) may be carried out by coordinating witha program that controls the user's calendar to add a physiologicalimprovement activity indicated in the physiological improvementrecommendation.

For further explanation, FIG. 8 sets forth a flow chart illustratinganother example embodiment of a method for exercise behavior prediction.The method of FIG. 8 is similar to the method of FIG. 4 in that themethod of FIG. 7 also includes a prediction evaluation controller (499)generating (402) an exercise activity pattern (460) based oncorrelations between scheduling of a user's historical non-exerciseevents (456) and the user's historical exercise events (452); generating(404), based on the generated exercise activity pattern (460), a futureexercise event (468) to correspond with a future non-exercise event(458) scheduled on the user's calendar; and providing (406) anindication (470) of the generated future exercise event (468).

In the example of FIG. 8, generating (404), based on the generatedexercise activity pattern (460), a future exercise event (468) tocorrespond with a future non-exercise event (458) scheduled on theuser's calendar optionally includes identifying (802) a pattern (850) inthe duration between the user's non-exercise events and the user'scorrelated exercise events. Identifying (802) a pattern (850) in theduration between the user's non-exercise events and the user'scorrelated exercise events may be carried out by retrieving usercalendar data; examining the user calendar data to identify repeatingdurations between particular exercise events and non-exercise events;and creating one or more rule sets specifying a duration relationshipbetween an exercise event and a non-exercise event.

For example, an exercise activity pattern may include a rule set anddata that indicates that an exercise event historically precedes anon-exercise event by a particular duration or range of time. In thisexample, the exercise activity pattern may indicate that a userhistorically goes for a run two hours before going to the airport.

In the example of FIG. 8, generating (404), based on the generatedexercise activity pattern (460), a future exercise event (468) tocorrespond with a future non-exercise event (458) scheduled on theuser's calendar optionally includes identifying (804) a pattern (852) intype of the user's non-exercise events and the user's correlatedexercise events. Identifying (804) a pattern (852) in type of the user'snon-exercise events and the user's correlated exercise events may becarried out by retrieving user calendar data; examining the usercalendar data to identify repeating sequences between particular typesof exercise activities during exercise events and types of non-exerciseevents; and creating one or more rule sets specifying a relationshipbetween the particular type of exercise activity and a type ofnon-exercise event. For example, the prediction evaluation controller(499) may generate an exercise activity pattern that includes a rule setthat indicates an exercise event proceeds or follows a particular typeof non-exercise event, such as an investor meeting. As another example,the prediction evaluation controller (499) may generate an exerciseactivity pattern that includes a rules set that indicates a particulartype of exercise activity proceeds or follows a particular type ofnon-exercise event.

For further explanation, FIG. 9 sets forth a data flow diagramillustrating a manufacturing process (900) for a device that includes aprediction evaluation controller. Physical device information (902 isreceived at the manufacturing process (900), such as at a researchcomputer (906). The physical device information (902) may include designinformation representing at least one physical property of asemiconductor device, such as a device that includes the predictionevaluation controller (199) of FIG. 1 (e.g., the wearable monitoringdevice (101) of FIG. 1). For example, the physical device information(902) may include physical parameters, material characteristics, andstructure information that is entered via a user interface (904) coupledto the research computer (906). The research computer (906) includes aprocessor (908), such as one or more processing cores, coupled to acomputer readable medium such as a memory (910). The memory (910) maystore computer readable instructions that are executable to cause theprocessor (908) to transform the physical device information (902) tocomply with a file format and to generate a library file (912)containing evaluation logic for exercise behavior prediction.

In a particular embodiment, the library file (912) includes at least onedata file including the transformed design information. For example, thelibrary file (912) may include a library of semiconductor devicesincluding a device that includes the prediction evaluation controller(199) of FIG. 1 (e.g., the wearable monitoring device (101) of FIG. 1)that is provided to use with an electronic design automation (EDA) tool(920).

The library file (912) may be used in conjunction with the EDA tool(920) at a design computer (914) including a processor (916), such asone or more processing cores, coupled to a memory (918). The EDA tool(920) may be stored as processor executable instructions at the memory(918) to enable a user of the design computer (914) to design a circuitincluding a device that includes the prediction evaluation controller(199) of FIG. 1 (e.g., the wearable monitoring device (101) of FIG. 1)of the library file (912). For example, a user of the design computer(914) may enter circuit design information (922) via a user interface(924) coupled to the design computer (914). The circuit designinformation (922) may include design information representing at leastone physical property of a semiconductor device, such as a device thatincludes the prediction evaluation controller (199) of FIG. 1 (e.g., thewearable monitoring device (101) of FIG. 1). To illustrate, the circuitdesign property may include identification of particular circuits andrelationships to other elements in a circuit design, positioninginformation, feature size information, interconnection information, orother information representing a physical property of a semiconductordevice.

The design computer (914) may be configured to transform the designinformation, including the circuit design information (922), to complywith a file format. To illustrate, the file formation may include adatabase binary file format representing planar geometric shapes, textlabels, and other information about a circuit layout in a hierarchicalformat, such as a Graphic Data System (GDSII) file format. The designcomputer (914) may be configured to generate a data file including thetransformed design information, such as a GDSII file (926) that includesinformation describing a device that includes evaluation logic used bythe prediction evaluation controller (199) of FIG. 1 (e.g., the wearablemonitoring device (101) of FIG. 1) for exercise behavior prediction inaddition to other circuits or information. To illustrate, the data filemay include information corresponding to a system-on-chip (SOC) thatincludes a device that includes the prediction evaluation controller(199) of FIG. 1 (e.g., the wearable monitoring device (101) of FIG. 1)and that also includes additional electronic circuits and componentswithin the SOC.

The GDSII file (926) may be received at a fabrication process (928) tomanufacture a device that includes the prediction evaluation controller(199) of FIG. 1 (e.g., the wearable monitoring device (101) of FIG. 1)according to transformed information in the GDSII file (926). Forexample, a device manufacture process may include providing the GDSIIfile (926) to a mask manufacturer (930) to create one or more masks,such as masks to be used with photolithography processing, illustratedas a representative mask (932). The mask (932) may be used during thefabrication process to generate one or more wafers (934), which may betested and separated into dies, such as a representative die (936). Thedie (936) includes a circuit including a device that includes theprediction evaluation controller (199) of FIG. 1 (e.g., the wearablemonitoring device (101) of FIG. 1).

The die (936) may be provided to a packaging process (938) where the die(936) is incorporated into a representative package (940). For example,the package (940) may include the single die (936) or multiple dies,such as a system-in-package (SiP) arrangement. The package (940) may beconfigured to conform to one or more standards or specifications, suchas Joint Electron Device Engineering Council (JEDEC) standards.

Information regarding the package (940) may be distributed to variousproduct designers, such as via a component library stored at a computer(946). The computer (946) may include a processor (948), such as one ormore processing cores, coupled to a memory (950). A printed circuitboard (PCB) tool may be stored as processor executable instructions atthe memory (950) to process PCB design information (942) received from auser of the computer (946) via a user interface (944). The PCB designinformation (942) may include physical positioning information of apackaged semiconductor device on a circuit board, the packagedsemiconductor device corresponding to the package (940) including adevice that includes the prediction evaluation controller (199) of FIG.1 (e.g., the wearable monitoring device (101) of FIG. 1).

The computer (946) may be configured to transform the PCB designinformation (942) to generate a data file, such as a GERBER file (952)with data that includes physical positioning information of a packagedsemiconductor device on a circuit board, as well as layout of electricalconnections such as traces and vias, where the packaged semiconductordevice corresponds to the package (940) including the predictionevaluation controller (199) of FIG. 1. In other embodiments, the datafile generated by the transformed PCB design information may have aformat other than a GERBER format.

The GERBER file (952) may be received at a board assembly process (954)and used to create PCBs, such as a representative PCB (956),manufactured in accordance with the design information stored within theGERBER file (952). For example, the GERBER file (952) may be uploaded toone or more machines to perform various steps of a PCB productionprocess. The PCB (956) may be populated with electronic componentsincluding the package (940) to form a representative printed circuitassembly (PCA) (958).

The PCA (958) may be received at a product manufacture process (960) andintegrated into one or more electronic devices, such as a firstrepresentative electronic device (962) and a second representativeelectronic device (964). As an illustrative, non-limiting example, thefirst representative electronic device (962), the second representativeelectronic device (964), or both, may be selected from the group of aset top box, a music player, a video player, an entertainment unit, anavigation device, a communications device, a personal digital assistant(PDA), a fixed location data unit, and a computer, into which the atleast one controllable energy consuming module is integrated. As anotherillustrative, non-limiting example, one or more of the electronicdevices (962) and (964) may be remote units such as mobile phones,hand-held personal communication systems (PCS) units, portable dataunits such as personal data assistants, global positioning system (GPS)enabled devices, navigation devices, fixed location data units such asmeter reading equipment, or any other device that stores or retrievesdata or computer instructions, or any combination thereof. Although FIG.8 illustrates remote units according to teachings of the disclosure, thedisclosure is not limited to these exemplary illustrated units.Embodiments of the disclosure may be suitably employed in any devicewhich includes active integrated circuitry including memory and on-chipcircuitry.

A device that includes the prediction evaluation controller (199) ofFIG. 1 may be fabricated, processed, and incorporated into an electronicdevice, as described in the illustrative process (900). One or moreaspects of the embodiments disclosed with respect to FIGS. 1-7 may beincluded at various processing stages, such as within the library file(912), the GDSII file (926), and the GERBER file (952), as well asstored at the memory (910) of the research computer (906), the memory(918) of the design computer (914), the memory (950) of the computer(946), the memory of one or more other computers or processors (notshown) used at the various stages, such as at the board assembly process(954), and also incorporated into one or more other physical embodimentssuch as the mask (932), the die (936), the package (940), the PCA (958),other products such as prototype circuits or devices (not shown), or anycombination thereof. For example, the GDSII file (926) or thefabrication process (928) can include a computer readable tangiblemedium storing instructions executable by a computer, the instructionsincluding instructions that are executed by the computer to perform themethods of FIGS. 3-7, or any combination thereof. Although variousrepresentative stages of production from a physical device design to afinal product are depicted, in other embodiments fewer stages may beused or additional stages may be included. Similarly, the process (900)may be performed by a single entity, or by one or more entitiesperforming various stages of the process (900).

Those of skill would further appreciate that the various illustrativelogical blocks, configurations, modules, circuits, and method stepsdescribed in connection with the embodiments disclosed herein may beimplemented as electronic hardware, computer software executed by aprocessing unit, or combinations of both. Various illustrativecomponents, blocks, configurations, modules, circuits, and steps havebeen described above generally in terms of their functionality. Whethersuch functionality is implemented as hardware or executable processinginstructions depends on the particular application and designconstraints imposed on the overall system. Skilled artisans mayimplement the described functionality in varying ways with eachparticular application, but such implementation decisions should not beinterpreted as causing a departure from the scope of the presentdisclosure.

The steps of a method or algorithm described in connection with theembodiments disclosed herein may be embodied directly in hardware, in asoftware module executed by a processor, or in a combination of the two.A software module may reside in random access memory (RAM), amagnetoresistive random access memory (MRAM), a spin-torque-transferMRAM (STT-MRAM), flash memory, read-only memory (ROM), programmableread-only memory (PROM), erasable programmable read-only memory (EPROM),electrically erasable programmable read-only memory (EEPROM), registers,hard disk, a removable disk, a compact disc read-only memory (CD-ROM),or any other form of storage medium known in the art. An exemplarystorage medium is coupled to the processor such that the processor canread information from, and write information to, the storage medium. Inthe alternative, the storage medium may be integral to the processor.The processor and the storage medium may reside in anapplication-specific integrated circuit (ASIC). The ASIC may reside in acomputing device or a user terminal. In the alternative, the processorand the storage medium may reside as discrete components in a computingdevice or user terminal.

The previous description of the disclosed embodiments is provided toenable any person skilled in the art to make or use the disclosedembodiments. Various modifications to these embodiments will be readilyapparent to those skilled in the art, and the principles defined hereinmay be applied to other embodiments without departing from the scope ofthe disclosure. Thus, the present disclosure is not intended to belimited to the embodiments shown herein but is to be accorded the widestscope possible consistent with the principles and novel features asdefined by the following claims.

What is claimed is:
 1. A method of exercise behavior prediction, themethod comprising: generating, by a prediction evaluation controller, anexercise activity pattern based on correlations between scheduling of auser's historical non-exercise events and the user's historical exerciseevents, wherein the correlation is a repeated scheduling of exerciseevents and non-exercise events, and wherein the user's historicalnon-exercise events and the user's historical exercise events arecalendar events on the user's calendar indicating that the userperformed a non-exercise activity and an exercise at a particular timebefore the user's current time; generating, based on the generatedexercise activity pattern, by the prediction evaluation controller, afuture exercise event to correspond with a future non-exercise eventscheduled on the user's calendar; and providing, by the predictionevaluation controller, an indication of the generated future exerciseevent, wherein providing the indication of the generated future exerciseevent includes sending to the user, a new event request to schedule thegenerated future exercise event on the user's calendar.
 2. The method ofclaim 1 wherein generating a future exercise event includes selectingfrom a plurality of exercise activities, a particular exercise activityfor the user to perform during the generated future exercise event. 3.The method of claim 2 wherein selecting the particular exercise activityis based on an evaluation of a user's performance of one or moreexercise activities during the user's historic exercise events.
 4. Themethod of claim 2 wherein selecting the particular exercise activity isbased on historic physiological data indicating at least one vital signof the user during the user's performance of the one or more exerciseactivities during the user's historic exercise events.
 5. The method ofclaim 2 wherein selecting the particular exercise activity is based onhistoric environmental conditions during the user's performance of theone or more exercise activities during the user's historic exerciseevents.
 6. The method of claim 2 wherein selecting the particularexercise activity is based on current physiological data indicating atleast one vital sign of the user.
 7. The method of claim 2 whereinselecting the particular exercise activity is based on a forecast ofenvironmental conditions anticipated during the generated futureexercise event.
 8. The method of claim 2 wherein selecting theparticular exercise activity is based on a fitness goal of the user. 9.The method of claim 1 wherein providing the indication of the generatedfuture exercise event further includes automatically scheduling thegenerated future exercise event on the user's calendar.
 10. The methodof claim 1 further comprising: generating, based on physiological dataindicating at least one vital sign of the user, by the predictionevaluation controller, a physiological improvement recommendationindicating an activity to improve a user's physiological condition forperformance of the generated future exercise event; and providing, bythe prediction evaluation controller, the generated physiologicalimprovement recommendation.
 11. The method of claim 10 whereingenerating the physiological improvement recommendation is further basedon a forecast of environmental conditions anticipated during thegenerated future exercise event.
 12. The method of claim 10 whereinproviding the generated physiological improvement recommendationincludes sending to the user, a new event request to schedule theactivity indicated in the identified physiological improvementrecommendation.
 13. The method of claim 10 wherein providing thegenerated physiological improvement recommendation includesautomatically scheduling the activity indicated in the identifiedphysiological improvement recommendation.
 14. The method of claim 1wherein generating an exercise activity pattern based on correlationsbetween scheduling of a user's historical non-exercise events and theuser's historical exercise events includes identifying a pattern in theduration between the user's non-exercise events and the user'scorrelated exercise events.
 15. The method of claim 1 wherein generatingan exercise activity pattern based on correlations between scheduling ofa historical user's non-exercise events and the user's historicalexercise events includes identifying a pattern in type of the user'snon-exercise events and the user's correlated exercise events.
 16. Anapparatus for exercise behavior prediction, the apparatus comprising acomputer processor and computer memory operatively coupled to thecomputer processor, the computer memory having disposed within itcomputer program instructions that, when executed by the computerprocessor, cause the apparatus to carry out the steps of: generating, bya prediction evaluation controller, an exercise activity pattern basedon correlations between scheduling of a user's historical non-exerciseevents and the user's historical exercise events, wherein thecorrelation is a repeated scheduling of exercise events and non-exerciseevents, and wherein the user's historical non-exercise events and theuser's historical exercise events are calendar events on the user'scalendar indicating that the user performed a non-exercise activity andan exercise at a particular time before the user's current time;generating, based on the generated exercise activity pattern, by theprediction evaluation controller, a future exercise event to correspondwith a future non-exercise events scheduled on the user's calendar; andproviding, by the prediction evaluation controller, an indication of thegenerated future exercise event, wherein providing the indication of thegenerated future exercise event includes sending to the user, a newevent request to schedule the generated future exercise event on theuser's calendar.
 17. The apparatus of claim 16 further comprisingcomputer program instructions that, when executed by the computerprocessor, cause the apparatus to carry out the steps of: generating,based on physiological data indicating at least one vital sign of theuser, by the prediction evaluation controller, a physiologicalimprovement recommendation indicating an activity to improve a user'sphysiological condition for performance of the generated future exerciseevent; and providing, by the prediction evaluation controller, thegenerated physiological improvement recommendation.
 18. A non-transitorycomputer readable storage medium storing instructions executable by acomputer for exercise behavior prediction, the instructions comprising:instructions that are executable by the computer to generate, by aprediction evaluation controller, an exercise activity pattern based oncorrelations between scheduling of a user's historical non-exerciseevents and the user's historical exercise events, wherein thecorrelation is a repeated scheduling of exercise events and non-exerciseevents, and wherein the user's historical non-exercise events and theuser's historical exercise events are calendar events on the user'scalendar indicating that the user performed a non-exercise activity andan exercise at a particular time before the user's current time;instructions that are executable by the computer to generate, based onthe generated exercise activity pattern, by the prediction evaluationcontroller, a future exercise event to correspond with a futurenon-exercise events scheduled on the user's calendar; and instructionsthat are executable by the computer to provide, by the predictionevaluation controller, an indication of the generated future exerciseevent, wherein providing the indication of the generated future exerciseevent includes sending to the user, a new event request to schedule thegenerated future exercise event on the user's calendar.
 19. The computerreadable storage medium of claim 18 wherein the instructions areexecutable by a processor integrated into a device selected from thegroup consisting of a navigation device, a communications device, apersonal digital assistant (PDA), a fixed location data unit, and acomputer.